package com.ruoyi.manage.strategy;

import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.manage.DTO.ChargingDTO;
import org.omg.CORBA.SystemException;

/**
 * @Title:
 * @BelongProjecet online-car-hailing
 * @BelongPackage com.ruoyi.manage.strategy
 * @Description: 打车计费策略
 * @Copyright
 * @Author: 马朝斌
 * @Date: 2024-07-02 22:19
 * @Version V1.0
 */
public interface BillingPolicies {

    /*
     * 定义一个接口，用于实现打车计费策略。
     * 基础计费策略 BasicBillingPolicy
     * 超时计费策略 TimeOutBillingPolicy
     * 超里程计费策略 OverMileageBillingPolicy
     * 长途计费策略 LongDistanceBillingPolicy
     * 超时超距离计费政策 TimeOutOverMileageBillingPolicy
     */

    /**
     * 查询账单策略信息并返回结果。
     *
     * @param chargingDTO 包含查询条件的传输对象，不应为null
     * @return 包含账单策略信息的 AjaxResult 对象，可能为null
     * @throws SystemException 如果发生系统级异常
     */

    public AjaxResult billingPolicies(ChargingDTO chargingDTO) throws SystemException;
}
